<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>hello react</title>
    <style></style>
  </head>
  <body>
    <div id="test"></div>
    <!-- 引入react核心库 -->
    <script src="../js/react.development.js"></script>
    <!-- 引入react Dom库 用于支持 react操作dom-->
    <script src="../js/react-dom.development.js"></script>
    <!-- 引入babel 用于将 jsx 转为 js -->
    <script src="../js/babel.min.js"></script>

    <!-- 使用babel 转译jsx -->
    <script type="text/babel">
      // 父组件传递一个函数给子组件回调并且给函数传值旧可以
      // 实现子组件向父组件通信
      class F extends React.Component {
        // e就是子组件传过来的值
        a = (e) => {
          console.log("父组件", e);
        };
        render() {
          return (
            <div>
              <C a={this.a} />
            </div>
          );
        }
      }
      class C extends React.Component {
        change = () => {
          // 调用父组件通过props传递过来的函数
          // 可以把值传递给父组件
          this.props.a("子组件向父组件传递");
        };
        render() {
          return (
            <div>
              <h1 onClick={this.change}>传递</h1>
            </div>
          );
        }
      }
      ReactDOM.render(<F />, document.getElementById("test"));
    </script>
  </body>
</html>
